#include<iostream>
using namespace std;
#include<string.h>
#include<algorithm>

void perm(char s[],int k,int m);

int main(){
    char s[] = {'a','b','c','d'};
    perm(s,0,3);
    return 0;
}

void perm(char s[],int k,int m)
{
    // cout << "k=" << k << " m=" << m << endl;
    if(k ==  m){
        for(int i=0; i<=k ;i++){
            cout << s[i] << " ";
        }
        cout << endl;
        return;
    }
    for(int i=k; i<=m; i++){
        swap(s[k],s[i]);
        perm(s,k+1,m);
        swap(s[k],s[i]);
    }
}